import java.util.HashMap;
import java.util.Scanner;

public class test6 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.next();
        System.out.println(isUnique(str));
    }

    //哈希表

//    public static boolean isUnique(String astr) {
//        HashMap<Character,Integer> map = new HashMap<>();
//        char[] chars = astr.toCharArray();
//        for(char ch:chars){
//            if(map.get(ch)==null){
//                map.put(ch,1);
//                continue;
//            }
//            return false;
//        }
//        return true;
//    }

    //位运算
    //用位图,用比特位来表示字母(26个),0 表示没出现,1 表示已出现
    public static boolean isUnique(String astr) {
        char[] chars = astr.toCharArray();
        int result = 0;
        for (char ch:chars){
            int i = ch-97;
            //判断只要通过变化之后得到的结果为0的化,那么就代表重复了
            //也就是说,先变化,然后获取到变化的那一位,来判断它是否又变为了0!
            result ^= (1<<i);//此时已经被记录下来了,但是我们要进行备份,不能对原本的这个数据进行更改
            int flag = result;
            //判断刚才那一位是什么
            if(((flag>>i)&1)==0){
                //有0就为0,如果又变为0了,那么结果就肯定是0,没有变为0,结果就是1
                return false;
            }
        }
        return true;
    }
}
